import time
import streamlit as st
import re
import data.data as dd

#设置注册界面的标签页面
st.set_page_config(
    page_title="私人助手注册页面",
    page_icon='😍'
)
#设置页面的标题
st.title("私人助手注册页面")
#设置注册页面的组件
username = st.text_input('请输入用户名')
password = st.text_input('请输入密码',type='password')
re_password = st.text_input('请重复输入密码',type='password')
register_flag = st.button("注册")
#登录按钮
login_flag = st.button("已有账号？点击此登录")

#点击注册按钮之后，需要奖用户输入的用户名、密码、确认密码全部拿到
#先校验信息是否填写，检验两次密码是否一致，校验账号是否在数据库存在。
#这是点击登录按钮后跳转到登录界面
#如果都校验成功，需要添加到数据库，然后再跳转到登陆界面

#定义一个注册函数
def register(username, password, re_password):
    # 1.校验三个信息是否填写
    if username and password and re_password:
        #2.校验用户名的长度是否为11位 正则表达式
        if re.match('^(13|15|17|18|19)[0-9]{9}$', username):
            #3、查看两次密码是否一致 并且密码长度必须大于8位
            if password == re_password and len(password) >= 8:
                #4查询数据库是否有重复信息
                if dd.query_user_by_username(username) is None:
                    dd.add_user(username, password)
                    st.success('注册成功')
                    time.sleep(2)
                    st.switch_page('login.py')
                else:
                    st.error('用户已经注册')
            else:
                st.error("两次密码不一致或者长度字段不足八位")
        else:
            st.error('您的手机号码格式不正确')

    else:
        st.error("请务必填写相关注册信息！")

if register_flag:
    register(username, password, re_password)

if login_flag:
    st.switch_page('login.py')
